﻿// Tischpreiskegeln
//
// vorgesehen für die FF Feichtenberg zur Unterstützung des alljährlich stattfindenen
// Tischpreiskegelns.
// 
// Autoren:
// Eder Philipp S0910438031
// Lutt Martin  S0910438076
// (FH Wels)
//
using System;
using System.Collections.Generic;
//using System.Linq;
using System.Text;
using System.Data;

namespace fff_preiskegeln
{
    public class Rangliste
    {
        private dbVerbindung verbindung;
        private DateTime datumAnf;
        private DateTime datumEnde;
        /// <summary>
        /// Rangliste wird erstellt
        /// </summary>
        /// <param name="verb">Verbindungsdaten</param>
        /// <param name="datumanfang">Anfangsdatum der Rangliste</param>
        /// <param name="datumende">Enddatum der Rangliste</param>
        public Rangliste(dbVerbindung verb, DateTime datumanfang, DateTime datumende)
        {
            this.verbindung = verb;
            this.datumAnf = datumanfang;
            this.datumEnde = datumende;
        }


        public DataTable Tabelle(int[] id)
        {
            DataTable tabelle = new DataTable("Rangliste");
            tabelle.Columns.Add("id");
            tabelle.Columns.Add("Name");
            tabelle.Columns.Add("36");
            tabelle.Columns.Add("37");
            tabelle.Columns.Add("38");
            tabelle.Columns.Add("39");
            tabelle.Columns.Add("40");
            tabelle.Columns.Add("41");
            tabelle.Columns.Add("42");
            tabelle.Columns.Add("43");
            tabelle.Columns.Add("44");
            tabelle.Columns.Add("45");
            tabelle.Columns.Add("46");
            tabelle.Columns.Add("47");
            tabelle.Columns.Add("48");
            tabelle.Columns.Add("49");
            tabelle.Columns.Add("50");

            for (int person = 0; person < id.GetLength(0); person++)
            {
                int[] tperson = this.verbindung.schussfolge(id[person],this.datumAnf,this.datumEnde);
                DataRow zeile = tabelle.NewRow();
                zeile["id"] = id[person];
                zeile["Name"] = this.verbindung.name(id[person]);
                zeile["36"] = tperson[35];
                zeile["37"] = tperson[36];
                zeile["38"] = tperson[37];
                zeile["39"] = tperson[38];
                zeile["40"] = tperson[39];
                zeile["41"] = tperson[40];
                zeile["42"] = tperson[41];
                zeile["43"] = tperson[42];
                zeile["44"] = tperson[43];
                zeile["45"] = tperson[44];
                zeile["46"] = tperson[45];
                zeile["47"] = tperson[46];
                zeile["48"] = tperson[47];
                zeile["49"] = tperson[48];
                zeile["50"] = tperson[49];

                tabelle.Rows.Add(zeile);
            }
            tabelle.DefaultView.Sort = "50 DESC, 49 DESC, 48 DESC, 47 DESC, 46 DESC, 45 DESC, 44 DESC, 43 DESC, 42 DESC, 41 DESC, 40 DESC, 39 DESC, 38 DESC, 37 DESC, 36 DESC";
            return tabelle;
        }
    }
}
